package cn.com.css.taxInspection.gt3.service.impl;

import cn.com.css.taxInspection.gt3.entity.*;
import cn.com.css.taxInspection.gt3.entity.ZxhjZxtzEntity;
import cn.com.css.taxInspection.gt3.entity.ZxhjZxtzRglrEntity;
import cn.com.css.taxInspection.gt3.mapper.ZxhjZxtzMapper;
import cn.com.css.taxInspection.gt3.mapper.ZxhjZxtzRglrMapper;
import cn.com.css.taxInspection.gt3.service.ZxhjZxtzService;
import cn.com.css.taxInspection.util.TsBqUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.List;

@Service("ZxhjZxtzService")
public class ZxhjZxtzServiceImpl extends ServiceImpl<ZxhjZxtzMapper, ZxhjZxtzEntity> implements ZxhjZxtzService {



    @Override
    public IPage<ZxhjZxtzEntity> queryZxtzTable(ZxhjZxtzEntity zxhjZxtzEntity)  {
        Page<ZxhjZxtzEntity> page = new Page<>(zxhjZxtzEntity.getPage(), zxhjZxtzEntity.getLimit());
        LambdaQueryWrapper<ZxhjZxtzEntity> queryWrapper = Wrappers.lambdaQuery();
        if (TsBqUtils.isNotNull(zxhjZxtzEntity.getJcajbh())) {
            queryWrapper.like(ZxhjZxtzEntity::getJcajbh, zxhjZxtzEntity.getJcajbh());
        }
        if (TsBqUtils.isNotNull(zxhjZxtzEntity.getAjmc())) {
            queryWrapper.like(ZxhjZxtzEntity::getAjmc, zxhjZxtzEntity.getAjmc());
        }
        if (TsBqUtils.isNotNull(zxhjZxtzEntity.getSwjgmc())) {
            queryWrapper.like(ZxhjZxtzEntity::getSwjgmc, zxhjZxtzEntity.getSwjgmc());
        }
        queryWrapper.and(wp->wp.ne(ZxhjZxtzEntity::getCbze,0)
                .or().ne(ZxhjZxtzEntity::getRkze,0)
        );
        queryWrapper.orderByDesc(ZxhjZxtzEntity::getJcajbh);
        Page<ZxhjZxtzEntity> page1 = this.page(page, queryWrapper);
        return page1;
    }

//    @Override
//    public Boolean updateZxtz(ZxhjZxtzEntity zxhjZxtzEntity) {
//        return this.updateById(zxhjZxtzEntity);
//    }
//
//    @Override
//    public Boolean insertZxtzRglr(ZxhjZxtzEntity zxhjZxtzEntity) {
//        if ( zxhjZxtzEntity.getJcajxxuuid().equals("")){
//            zxhjZxtzEntity.setJcajxxuuid(null);
//        }
//        if ( zxhjZxtzEntity.getNsrsbh().equals("")){
//            zxhjZxtzEntity.setNsrsbh(null);
//        }        if ( zxhjZxtzEntity.getNsrmc().equals("")){
//            zxhjZxtzEntity.setNsrmc(null);
//        }        if ( zxhjZxtzEntity.getJcajbh().equals("")){
//            zxhjZxtzEntity.setJcajbh(null);
//        }        if ( zxhjZxtzEntity.getNsrzt().equals("")){
//            zxhjZxtzEntity.setNsrzt(null);
//        }        if ( zxhjZxtzEntity.getJcajzt().equals("")){
//            zxhjZxtzEntity.setJcajzt(null);
//        }       if ( zxhjZxtzEntity.getZxry().equals("")){
//            zxhjZxtzEntity.setZxry(null);
//        }        if ( zxhjZxtzEntity.getZxdjrq().equals("")){
//            zxhjZxtzEntity.setZxdjrq(null);
//        }        if ( zxhjZxtzEntity.getLarq().equals("")){
//            zxhjZxtzEntity.setLarq(null);
//        }        if ( zxhjZxtzEntity.getYzfsrq().equals("")){
//            zxhjZxtzEntity.setYzfsrq(null);
//        }
//         if ( zxhjZxtzEntity.getAjszjgDm().equals("")){
//            zxhjZxtzEntity.setAjszjgDm(null);
//        }
//        LambdaQueryWrapper<ZxhjZxtzRglrEntity> queryWrapper = Wrappers.lambdaQuery();
//        if (zxhjZxtzEntity.getJcajxxuuid() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getJcajxxuuid);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getJcajxxuuid, zxhjZxtzEntity.getJcajxxuuid());
//        }
//        if (zxhjZxtzEntity.getNsrsbh() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getNsrsbh);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getNsrsbh, zxhjZxtzEntity.getNsrsbh());
//        }
//        if (zxhjZxtzEntity.getNsrmc() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getNsrmc);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getNsrmc, zxhjZxtzEntity.getNsrmc());
//        }
//        if (zxhjZxtzEntity.getJcajbh() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getJcajbh);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getJcajbh, zxhjZxtzEntity.getJcajbh());
//        }
//        if (zxhjZxtzEntity.getNsrzt() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getNsrzt);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getNsrzt, zxhjZxtzEntity.getNsrzt());
//        }
//        if (zxhjZxtzEntity.getJcajzt() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getJcajzt);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getJcajzt, zxhjZxtzEntity.getJcajzt());
//        }
//        if (zxhjZxtzEntity.getZxry() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getZxry);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getZxry, zxhjZxtzEntity.getZxry());
//        }
//        if (zxhjZxtzEntity.getZxdjrq() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getZxdjrq);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getZxdjrq, zxhjZxtzEntity.getZxdjrq());
//        }
//        if (zxhjZxtzEntity.getLarq() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getLarq);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getLarq, zxhjZxtzEntity.getLarq());
//        }
//        if (zxhjZxtzEntity.getYzfsrq() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getYzfsrq);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getYzfsrq, zxhjZxtzEntity.getYzfsrq());
//        }
//
//        if (zxhjZxtzEntity.getAjszjgDm() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getAjszjgDm);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getAjszjgDm, zxhjZxtzEntity.getAjszjgDm());
//        }
//        if (zxhjZxtzEntity.getZxwbrq() == null) {
//            queryWrapper.isNull(ZxhjZxtzRglrEntity::getZxwbrq);
//        }else {
//            queryWrapper.eq(ZxhjZxtzRglrEntity::getZxwbrq, zxhjZxtzEntity.getZxwbrq());
//        }
//        ZxhjZxtzRglrEntity ZxhjZxtzRglrEntity1 = zxhjZxtzRglrMapper.selectOne(queryWrapper);
//        if (ZxhjZxtzRglrEntity1 == null) {
//            ZxhjZxtzRglrEntity ZxhjZxtzRglrEntity = new ZxhjZxtzRglrEntity();
//            BeanUtils.copyProperties(zxhjZxtzEntity, ZxhjZxtzRglrEntity);
//            int insert = zxhjZxtzRglrMapper.insert(ZxhjZxtzRglrEntity);
//            if (insert == 1) {
//                return true;
//            } else {
//                return false;
//            }
//        } else {
//            LambdaUpdateWrapper<ZxhjZxtzRglrEntity> updateWrapper = Wrappers.lambdaUpdate();
//            if (zxhjZxtzEntity.getJcajxxuuid() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getJcajxxuuid);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getJcajxxuuid, zxhjZxtzEntity.getJcajxxuuid());
//            }
//            if (zxhjZxtzEntity.getNsrsbh() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getNsrsbh);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getNsrsbh, zxhjZxtzEntity.getNsrsbh());
//            }
//            if (zxhjZxtzEntity.getNsrmc() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getNsrmc);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getNsrmc, zxhjZxtzEntity.getNsrmc());
//            }
//            if (zxhjZxtzEntity.getJcajbh() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getJcajbh);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getJcajbh, zxhjZxtzEntity.getJcajbh());
//            }
//            if (zxhjZxtzEntity.getNsrzt() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getNsrzt);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getNsrzt, zxhjZxtzEntity.getNsrzt());
//            }
//            if (zxhjZxtzEntity.getJcajzt() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getJcajzt);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getJcajzt, zxhjZxtzEntity.getJcajzt());
//            }
//            if (zxhjZxtzEntity.getZxry() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getZxry);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getZxry, zxhjZxtzEntity.getZxry());
//            }
//            if (zxhjZxtzEntity.getZxdjrq() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getZxdjrq);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getZxdjrq, zxhjZxtzEntity.getZxdjrq());
//            }
//            if (zxhjZxtzEntity.getLarq() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getLarq);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getLarq, zxhjZxtzEntity.getLarq());
//            }
//            if (zxhjZxtzEntity.getYzfsrq() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getYzfsrq);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getYzfsrq, zxhjZxtzEntity.getYzfsrq());
//            }
//            if (zxhjZxtzEntity.getAjszjgDm() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getAjszjgDm);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getAjszjgDm, zxhjZxtzEntity.getAjszjgDm());
//            }
//            if (zxhjZxtzEntity.getZxwbrq() == null) {
//                updateWrapper.isNull(ZxhjZxtzRglrEntity::getZxwbrq);
//            }else {
//                updateWrapper.eq(ZxhjZxtzRglrEntity::getZxwbrq, zxhjZxtzEntity.getZxwbrq());
//            }
//            ZxhjZxtzRglrEntity ZxhjZxtzRglrEntity = new ZxhjZxtzRglrEntity();
//            BeanUtils.copyProperties(zxhjZxtzEntity, ZxhjZxtzRglrEntity);
//            int update = zxhjZxtzRglrMapper.update(ZxhjZxtzRglrEntity, updateWrapper);
//            if (update == 1) {
//                return true;
//            } else {
//                return false;
//            }
//        }
//    }
}